/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package Datos;

/**
 *
 * @author Angelica
 */
import com.db4o.Db4oEmbedded;
import com.db4o.ObjectContainer;
import com.db4o.config.EmbeddedConfiguration;

public class Conexion {
    private static Conexion INSTANCE = null;
    private final String PATH = "factura.db4o";//Este es el nombre del fichero donde
    //se guardan los datos. No es necesaria
    //la extensión db4o
    private static ObjectContainer db;
    // Constructor
    private Conexion() {
        
    }
    // creador sincronizado para protegerse de posibles problemas multi-hilo
    // otra prueba para evitar instanciación múltiple
    private synchronized static void createInstance() {
        if (INSTANCE == null) {
            INSTANCE = new Conexion();
            INSTANCE.performConnection();
        }
    }  //Se accede a la conexion
    public static ObjectContainer getInstance() {
        if (INSTANCE == null) {
            createInstance();
        }
        return db;
    }
    public void performConnection() {
        EmbeddedConfiguration config = Db4oEmbedded.newConfiguration();
        db = Db4oEmbedded.openFile(config, PATH);
    }
    //Cerrar la conexión
    public void closeConnection() {
        db.close();
    }
    
}